package cn.iocoder.yudao.module.erp.service.report;

import cn.iocoder.yudao.module.erp.controller.admin.report.vo.*;

import java.util.List;

/**
 * 贵金属报表统计 Service 接口
 */
public interface ErpMetalReportService {

    /**
     * 获取按金属类型统计分析
     *
     * @param reqVO 请求参数
     * @return 金属类型分析数据
     */
    List<ErpMetalTypeAnalysisRespVO> getMetalTypeAnalysis(MetalReportReqVO reqVO);

    /**
     * 获取贵金属业务盈亏分析
     *
     * @param reqVO 请求参数
     * @return 盈亏分析数据
     */
    ErpProfitAnalysisRespVO getProfitAnalysis(MetalReportReqVO reqVO);

    /**
     * 获取客户交易分析
     *
     * @param customerId 客户编号
     * @param reqVO      请求参数
     * @return 客户交易分析数据
     */
    ErpCustomerTransactionRespVO getCustomerTransaction(Long customerId, MetalReportReqVO reqVO);

    /**
     * 获取贵金属交易趋势分析
     *
     * @param reqVO 请求参数
     * @return 趋势分析数据
     */
    ErpTrendAnalysisRespVO getTrendAnalysis(MetalTrendReqVO reqVO);

    /**
     * 获取贵金属库存分析
     *
     * @param reqVO 请求参数
     * @return 库存分析数据
     */
    List<ErpInventoryAnalysisRespVO> getInventoryAnalysis(MetalReportReqVO reqVO);

    /**
     * 获取旧料兑换分析
     *
     * @param reqVO 请求参数
     * @return 旧料兑换分析数据
     */
    ErpExchangeAnalysisRespVO getExchangeAnalysis(MetalReportReqVO reqVO);

} 